﻿namespace OutLook.Model.Domains
{
    using System.Collections.Generic;
    using System.Runtime.Serialization;
    using OutLook.Model.Infrastructure;

    [DataContract]
    public class ElementModel
    {
        #region Constructors

        public ElementModel() { }

        public ElementModel(string title, List<Coupla> distributionMode, double distributionConstant, double castIronConstant, double slagConstant)
        {
            Title = title;
            DistributionMode = new List<Coupla>();
            DistributionMode = distributionMode;
            DistributionConstant = distributionConstant;
            CastIronConstant = castIronConstant;
            SlagConstant = slagConstant;
        }

        #endregion

        #region Properties

        /// <summary>
        /// Chemical combination name
        /// </summary>
        [DataMember(Order = 1)]
        public string Title { get; set; }

        /// <summary>
        /// Mode of distribution of elements in chemical combination
        /// </summary>
        [DataMember(Order = 2)]
        public List<Coupla> DistributionMode { get; set; }

        /// <summary>
        /// Constant for distribution of element
        /// </summary>
        [DataMember(Order = 3)]
        public double DistributionConstant { get; set; }

        /// <summary>
        /// Constant for distribution of element for cast iron
        /// </summary>
        [DataMember(Order = 4)]
        public double CastIronConstant { get; set; }

        /// <summary>
        /// Constant for distribution of element for slag
        /// </summary>
        [DataMember(Order = 5)]
        public double SlagConstant { get; set; }

        #endregion
    }
}
